An Introduction to the Construction and Verification of Alphard Programs
نویسنده
چکیده
The programming language Alphard is designed to provide support for both the methodologies of "well-structured" programming and the techniques of formal program verification. Language constructs allow a programmer to isolate an abstraction, specifying its behavior publicly while localizing.knowledge about its implementation. The verification of such an abstraction consists of showing that its implementation behaves in accordance with its public specifications; the abstraction can then be used with confidence in constructing other programs, and the verification of that use employs only the public specifications. This paper introduces Alphard by developing and verifying a data structure definition and a program that uses it. It shows how each language construct contributes to the development of the abstraction and discusses the way the language design and the verification methodology wete tailored to each other. It serves not only as an introduction to Alphard, but also as an example of the symbiosis between verification and methodology in language design. The strategy of program structuring, illustrated for Alphard, is also applicable to most of the "data abstraction" mechanisms now appearing. Index Terns-Abstract data types, abstraction and representation, assertions, correctness, information hiding, levels of abstraction, modular decomposition, program specifications, program verification, programming languages, programming methodology, structured programming.
منابع مشابه
Introduction of a Reliable Software for the Calculation of the Gamma Index
Introduction: The gamma index is a known parameter for radiotherapy dose verification. Many free and commercial programs have been written for the calculation of this index. However, the verification of the results has been overlooked in many of the programs. The present study tested the validity of three gamma index calculator programs. Material and ...
متن کاملAbstraction and verification in Alphard : a symbol table example
ION and VERIFICATION in ALPHARD: A Symbol Table Example Ralph L. London, USC Information Sciences Institute Mary Shaw, Carnegie-Mellon University Wm. A. Wulf, Carnegie-Mellon University
متن کاملAlphard: toward a Language to Support Structured Programs
This report discusses the programming language tools needed to support the expression of 'well-structured' programs. In particular it deals with the tools needed to express abstractions and their realizations; to this end it introduces the concept of a 'form' to subsume the notions of type (mode), macro, procedure, generator, and coercion. An extended example is given together with the sketch o...
متن کاملAbstraction and verification in Alphard : design and verification of a tree handler
ION and VERIFICATION in ALPHARD: Design and Verification of a Tree Handler M a r y S h a w C o m p u t e r S c i e n c e D e p a r t m e n t C a r n e g i e M e l l o n U n i v e r s i t y P i t t s b u r g h , P a . 1 5 2 1 3
متن کاملGenerating Regular Arithmetic Circuits with AlpHard
The eecient vlsi implementation of arithmetics operators requires that design be optimized, both by looking for eecient algorithms, and by producing compact regular layouts. We present AlpHard, a subset of Alpha { a language for the synthesis of regular algorithms. AlpHard is intended for specifying the Register Transfer Level (RTL) representation of an architecture, in such a way that any regu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009